package cn.exrick.xboot.modules.transport.vo;

import cn.exrick.xboot.modules.transport.entity.CompanyRoutes;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @author gj
 */
@Data
@Accessors(chain = true)
@ApiModel(value = "物流公司线路信息 vo实体")
public class CompanyRoutesVo  {

    @ApiModelProperty(value = "主键id")
    private Long id;

    @ApiModelProperty(value = "所属物流公司的ID")
    private Long companyId;

    @ApiModelProperty(value = "所属物流公司的名称")
    private String companyName;

    @ApiModelProperty(value = "线路起运地区的ID")
    private Long originRegionId;

    @ApiModelProperty(value = "线路起运地区的名称")
    private String originRegionName;

    @ApiModelProperty(value = "线路起运仓点的ID")
    private Long originWarehouseId;

    @ApiModelProperty(value = "线路起运仓点的名称")
    private String originWarehouseName;

    @ApiModelProperty(value = "仓点的坐标信息")
    private String originCoordinates;

    @ApiModelProperty(value = "仓点联系人Id")
    private Long originContactId;

    @ApiModelProperty(value = "仓点联系人姓名")
    private String originContactPersonName;

    @ApiModelProperty(value = "线路目的地地区的ID")
    private Long destinationRegionId;

    @ApiModelProperty(value = "线路目的地地区的名称")
    private String destinationRegionName;

    @ApiModelProperty(value = "线路起运仓点的ID")
    private Long destinationWarehouseId;

    @ApiModelProperty(value = "仓点的坐标信息")
    private String destinationCoordinates;

    @ApiModelProperty(value = "线路价格")
    private BigDecimal price;

    @ApiModelProperty(value = "低距离金额(小于20公里)")
    private BigDecimal shortDistancePrice;

    @ApiModelProperty(value = "中距离金额(20-40公里)")
    private BigDecimal mediumDistancePrice;

    @ApiModelProperty(value = "长距离金额(大于40公里)")
    private BigDecimal longDistancePrice;

    //todo 速度评价的业务逻辑还没有确认
    @ApiModelProperty(value = "线路速度评价，可选值：fast, medium, slow")
    private String speedRating;

    //创建时间
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;
}